# -- coding: utf-8 --
"""
# MIAHX© 交互框架信息表示模型消息协议的 FastDDS API 绑定

**模块：MIAHX© / 框架基础服务层（FFST） / 交互框架信息表示模型（IFIRM）**

将 API 绑定到 FastDDS Python 发布/订阅接口。

Version: 0.4.10,
Last updated: October 19, 2024

## Contributor(s)
* YAO Naiming <[naiming@iscas.ac.cn](mailto:naiming@iscas.ac.cn)>

## Change log
### v0.4.10
- .19: [更新] 新增用户感知 User-*；新增控制面板 Hud-*, Hut-*
- .11: [更新] 重命名 Gaze-*, Physio-*, Speech-*
- .2: [更新] 移除 BngLidar-*, BngRadar-*, DevAudio-*; 新增 PointCloud-*, DevSpeech-*
### v0.4.9
- .28: [新增] 统一 BngCamera 和 DevCamera 的 Reader/Writer; 新增 Topics 接口
- .26: [新增] CONTROL PANEL 相关 Reader/Writer
### v0.4.6
- .19: [新增] 一批 Reader/Writer
### v0.4.5
- .23: [新增] FileDescription, BngEcu, BngImu, BngAdvImu, BngRadar
- .15: [新增] BngStateReader, BngStateWriter
- .10: [新增] 初始实现

---
Copyright © 2024-2025 MIAHX Contributors, ISCAS, and ASIC. All Rights Reserved.
Licensed under Apache-2.0.
"""

import miahx_fastdds_api
import miahx_fastdds_api.human
import miahx_fastdds_api.beamng
import miahx_fastdds_api.cpl

# 基础

Topics = miahx_fastdds_api.Topics

Participant = miahx_fastdds_api.Participant
ParticipantQosTypes = miahx_fastdds_api.ParticipantQosTypes

# 通用

GNSSReader = miahx_fastdds_api.GNSSReader
GNSSWriter = miahx_fastdds_api.GNSSWriter

FileDescriptionWriter = miahx_fastdds_api.FileDescriptionWriter
FileDescriptionReader = miahx_fastdds_api.FileDescriptionReader

RawImageStreamReader = miahx_fastdds_api.RawImageStreamReader
RawImageStreamWriter = miahx_fastdds_api.RawImageStreamWriter
CompressedImageStreamReader = miahx_fastdds_api.CompressedImageStreamReader
CompressedImageStreamWriter = miahx_fastdds_api.CompressedImageStreamWriter

PointCloudStreamReader = miahx_fastdds_api.PointCloudStreamReader
PointCloudStreamWriter = miahx_fastdds_api.PointCloudStreamWriter

# 用户相关

GazeStreamReader = miahx_fastdds_api.human.GazeStreamReader
GazeStreamWriter = miahx_fastdds_api.human.GazeStreamWriter

SpeechStreamReader = miahx_fastdds_api.human.SpeechStreamReader
SpeechStreamWriter = miahx_fastdds_api.human.SpeechStreamWriter

PhysioStreamReader = miahx_fastdds_api.human.PhysioStreamReader
PhysioStreamWriter = miahx_fastdds_api.human.PhysioStreamWriter
EPhysioDataType = miahx_fastdds_api.human.EPhysioDataType

UserStreamReader = miahx_fastdds_api.human.UserStreamReader
UserStreamWriter = miahx_fastdds_api.human.UserStreamWriter
EDrivingGoalType = miahx_fastdds_api.human.EDrivingGoalType
EUserKeypointType = miahx_fastdds_api.human.EUserKeypointType

# BeamNG 相关

BngAdvImuStreamReader = miahx_fastdds_api.beamng.BngAdvImuStreamReader
BngAdvImuStreamWriter = miahx_fastdds_api.beamng.BngAdvImuStreamWriter

BngClassicalStreamReader = miahx_fastdds_api.beamng.BngClassicalStreamReader
BngClassicalStreamWriter = miahx_fastdds_api.beamng.BngClassicalStreamWriter

BngGpsStreamReader = miahx_fastdds_api.beamng.BngGpsStreamReader
BngGpsStreamWriter = miahx_fastdds_api.beamng.BngGpsStreamWriter

BngNavigationStreamReader = miahx_fastdds_api.beamng.BngNavigationStreamReader
BngNavigationStreamWriter = miahx_fastdds_api.beamng.BngNavigationStreamWriter
EBngNavigationEvent = miahx_fastdds_api.beamng.EBngNavigationEvent

BngVehicleControlReader = miahx_fastdds_api.beamng.BngVehicleControlReader
BngVehicleControlWriter = miahx_fastdds_api.beamng.BngVehicleControlWriter
EBngDrivingMode = miahx_fastdds_api.beamng.EBngDrivingMode

# 控制面板相关

BeamMPServerStartupMsgWriter = miahx_fastdds_api.cpl.BeamMPServerStartupMsgWriter
BeamMPServerStartupMsgReader = miahx_fastdds_api.cpl.BeamMPServerStartupMsgReader
BeamNGStartupMsgWriter = miahx_fastdds_api.cpl.BeamNGStartupMsgWriter
BeamNGStartupMsgReader = miahx_fastdds_api.cpl.BeamNGStartupMsgReader
HudStartupMsgWriter = miahx_fastdds_api.cpl.HudStartupMsgWriter
HudStartupMsgReader = miahx_fastdds_api.cpl.HudStartupMsgReader
HutStartupMsgWriter = miahx_fastdds_api.cpl.HutStartupMsgWriter
HutStartupMsgReader = miahx_fastdds_api.cpl.HutStartupMsgReader
GNSSyncStartupMsgWriter = miahx_fastdds_api.cpl.GNSSyncStartupMsgWriter
GNSSyncStartupMsgReader = miahx_fastdds_api.cpl.GNSSyncStartupMsgReader
DataCollectorStartupMsgWriter = miahx_fastdds_api.cpl.DataCollectorStartupMsgWriter
DataCollectorStartupMsgReader = miahx_fastdds_api.cpl.DataCollectorStartupMsgReader
ProcessStartupAckMsgWriter = miahx_fastdds_api.cpl.ProcessStartupAckMsgWriter
ProcessStartupAckMsgReader = miahx_fastdds_api.cpl.ProcessStartupAckMsgReader
ProcessShutdownMsgWriter = miahx_fastdds_api.cpl.ProcessShutdownMsgWriter
ProcessShutdownMsgReader = miahx_fastdds_api.cpl.ProcessShutdownMsgReader
ProcessShutdownAckMsgWriter = miahx_fastdds_api.cpl.ProcessShutdownAckMsgWriter
ProcessShutdownAckMsgReader = miahx_fastdds_api.cpl.ProcessShutdownAckMsgReader
ProcessHeartbeatMsgWriter = miahx_fastdds_api.cpl.ProcessHeartbeatMsgWriter
ProcessHeartbeatMsgReader = miahx_fastdds_api.cpl.ProcessHeartbeatMsgReader
